﻿#ifndef QPUSHBOX_H
#define QPUSHBOX_H
#include<QPainter>
#include <QWidget>
#include "dataconfig.h"

namespace Ui {
class qpushbox;
}

class qpushbox : public QWidget
{
    Q_OBJECT

public:
    explicit qpushbox(QWidget *parent = 0);
    ~qpushbox();
    //初始化关卡
    void initLevel(int level);
    //判断人数是否能走 p1 p2分别是往前一格 两格
    bool tryGo(QPoint p1,QPoint p2);
    //重写绘图事件
    void paintEvent(QPaintEvent *event);
    //键盘弹起
    void keyReleaseEvent(QKeyEvent *event);
    //判断游戏是否获胜
    bool GameIsWin();
private:
    Ui::qpushbox *ui;

    //当前所在关卡
    int levelindex;
    //初始时人物的x坐标
    int person_position_x ;
    //初始时人物的y坐标
    int person_position_y ;
    //人物的朝向
    int hero_stat;
    // 游戏是否胜利标志(每个陷阱都有箱子)
    bool isWin;
    //游戏移动次数
    int moveTimes;
    //关卡数据
    dataconfig config;
    //二维数组 维护每个关卡的数据
    int gameArray[16][16]; //用来存储最初的地图数据
    int posArray[16][16];  //用来存储当前的地图数据
};

#endif // QPUSHBOX_H
